package com.ruoyi.teacher.domain;

import com.ruoyi.teacher.api.domain.TeacherType;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

import java.util.Date;

/**
 * 老师中心对象 sys_teacher
 * 
 * @author clid
 * @date 2024-03-23
 */
public class Teacher extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 老师姓名 */
    @Excel(name = "老师姓名")
    private String name;

    /** 学科 */
    @Excel(name = "学科")
    private String subject;

    private String campusId;
    private String subjectId;
    /**
     * 上级
     */
    private Long superiors;

    /** 类型 */
    @Excel(name = "老师类型",readConverterExp="1=技术老师,2=讲师,3=阶段负责人")
    private Integer teacherType;

    /** 校区 */
    @Excel(name = "校区")
    private String campus;

    /** 电话 */
    @Excel(name = "电话")
    private String phone;

    /** 帮扶优先级 */
    @Excel(name = "帮扶优先级")
    private Integer priority;
    /**
     * 绩效类型
     */
    @Excel(name = "绩效类型",readConverterExp="1=技术老师,2=讲师,3=阶段负责人")
    private Long  performanceType;

    /** 性别 */
    @Excel(name = "性别",readConverterExp="0=男,1=女")
    private Integer gender;

    /** 关联的用户的id */
    private Long userId;

    /** (0正常，1删除) */
    private Long deleted;

    /**
     * 教师类型对象
     */
    private TeacherType teacherTypeObj;
    /**
    * 上级组长
    * */
    private Teacher superiorsObj;

    private String opUserId;

    public String getOpUserId() {
        return opUserId;
    }

    public void setOpUserId(String opUserId) {
        this.opUserId = opUserId;
    }

    public Teacher getSuperiorsObj() {
        return superiorsObj;
    }

    public void setSuperiorsObj(Teacher superiorsObj) {
        this.superiorsObj = superiorsObj;
    }

    public String getCampusId() {
        return campusId;
    }

    public void setCampusId(String campusId) {
        this.campusId = campusId;
    }

    public String getSubjectId() {
        return subjectId;
    }

    public void setSubjectId(String subjectId) {
        this.subjectId = subjectId;
    }

    public Long getSuperiors() {
        return superiors;
    }

    public void setSuperiors(Long superiors) {
        this.superiors = superiors;
    }

    public Long getPerformanceType() {
        return performanceType;
    }

    public void setPerformanceType(Long performanceType) {
        this.performanceType = performanceType;
    }

    public TeacherType getTeacherTypeObj() {
        return teacherTypeObj;
    }

    public void setTeacherTypeObj(TeacherType teacherTypeObj) {
        this.teacherTypeObj = teacherTypeObj;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }
    public void setSubject(String subject) 
    {
        this.subject = subject;
    }

    public String getSubject() 
    {
        return subject;
    }
    public void setCampus(String campus) 
    {
        this.campus = campus;
    }

    public String getCampus() 
    {
        return campus;
    }
    public void setPhone(String phone) 
    {
        this.phone = phone;
    }

    public String getPhone() 
    {
        return phone;
    }
    public void setPriority(Integer priority) 
    {
        this.priority = priority;
    }

    public Integer getPriority() 
    {
        return priority;
    }
    public void setTeacherType(Integer teacherType) 
    {
        this.teacherType = teacherType;
    }

    public Integer getTeacherType() 
    {
        return teacherType;
    }
    public void setGender(Integer gender) 
    {
        this.gender = gender;
    }

    public Integer getGender() 
    {
        return gender;
    }
    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }
    public void setDeleted(Long deleted) 
    {
        this.deleted = deleted;
    }

    public Long getDeleted() 
    {
        return deleted;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("name", getName())
            .append("subject", getSubject())
            .append("campus", getCampus())
            .append("phone", getPhone())
            .append("priority", getPriority())
            .append("teacherType", getTeacherType())
            .append("gender", getGender())
            .append("userId", getUserId())
            .append("deleted", getDeleted())
            .toString();
    }
}
